home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS037.dsk / TOM'S TEAM BOWLING SCORES.bas < prev   
BASIC Source File  |  2012-02-16  |  7KB  |  273 lines

  1. 10 D$ =  CHR$(4)
  2. 20  PRINT D$;"NOMON C,I,O"
  3. 50  GOTO 500
  4. 100  PRINT D$;"OPEN NAME,L30"
  5. 105  PRINT D$;"WRITE NAME,R0"
  6. 110  PRINT R: PRINT G
  7. 115  PRINT D$;"CLOSE"
  8. 116  RETURN 
  9. 120  PRINT D$;"OPEN NAME,L30"
  10. 125  PRINT D$;"READ NAME,R0"
  11. 130  INPUT R: INPUT G
  12. 135  PRINT D$;"CLOSE"
  13. 140  RETURN 
  14. 150  PRINT D$;"OPEN NAME,L30"
  15. 155  PRINT D$;"WRITE NAME,R";R
  16. 160  PRINT N$
  17. 165  PRINT D$;"CLOSE"
  18. 170  RETURN 
  19. 180  PRINT D$;"OPEN NAME,L30"
  20. 185  PRINT D$;"READ NAME,R";R
  21. 190  INPUT N$
  22. 195  PRINT D$;"CLOSE"
  23. 200  RETURN 
  24. 210  PRINT D$;"OPEN ";N$;",L30"
  25. 215  PRINT D$;"WRITE ";N$;",R0"
  26. 220  PRINT R: PRINT TP: PRINT G1
  27. 225  PRINT D$;"CLOSE"
  28. 226  RETURN 
  29. 230  PRINT D$;"OPEN ";N$;",L30"
  30. 235  PRINT D$;"READ ";N$;",R0"
  31. 240  INPUT R: INPUT TP: INPUT G1
  32. 245  PRINT D$;"CLOSE"
  33. 250  RETURN 
  34. 260  PRINT D$;"OPEN ";N$;",L30"
  35. 265  PRINT D$;"WRITE ";N$;",R";R
  36. 270  PRINT S1: PRINT S2: PRINT S3
  37. 275  PRINT D$;"CLOSE"
  38. 280  RETURN 
  39. 290  PRINT D$;"OPEN ";N$;",L30"
  40. 295  PRINT D$;"READ ";N$;",R";R
  41. 300  INPUT S1: INPUT S2: INPUT S3
  42. 305  PRINT D$;"CLOSE"
  43. 310  RETURN 
  44. 320  PRINT D$;"OPEN TEAM,L20"
  45. 325  PRINT D$;"WRITE TEAM,R0"
  46. 330  PRINT R: PRINT G: PRINT GT
  47. 335  PRINT D$;"CLOSE"
  48. 340  RETURN 
  49. 350  PRINT D$;"OPEN TEAM,L20"
  50. 355  PRINT D$;"READ TEAM,R0"
  51. 360  INPUT R: INPUT G: INPUT GT
  52. 365  PRINT D$;"CLOSE"
  53. 370  RETURN 
  54. 380  PRINT D$;"OPEN TEAM,L20"
  55. 385  PRINT D$;"WRITE TEAM,R";R
  56. 390  PRINT G(1): PRINT G(2): PRINT G(3): PRINT G(4)
  57. 395  PRINT D$;"CLOSE"
  58. 400  RETURN 
  59. 410  PRINT D$;"OPEN TEAM,L20"
  60. 415  PRINT D$;"READ TEAM,R";R
  61. 420  INPUT G(1): INPUT G(2): INPUT G(3): INPUT G(4)
  62. 425  PRINT D$;"CLOSE"
  63. 430  RETURN 
  64. 500  HOME : VTAB 10: HTAB 11: PRINT "LEAGUE TEAM RECORDS"
  65. 510  HTAB 19: PRINT "BY"
  66. 520  HTAB 13: PRINT "THOMAS JACOBSEN"
  67. 530  FOR X = 1 TO 2000: NEXT X
  68. 600  HOME : VTAB 7: HTAB 5: PRINT "1  ENTER THIS WEEKS SCORES"
  69. 610  HTAB 5: PRINT "2  CORRECT A WEEK"
  70. 620  HTAB 5: PRINT "3  PLOT TEAM MEMBER GRAPH"
  71. 630  HTAB 5: PRINT "4  TEAM MEMBER STANDING"
  72. 640  HTAB 5: PRINT "5  ADD TEAM MEMBER"
  73. 650  HTAB 5: PRINT "6  INITIAL START UP"
  74. 660  HTAB 5: PRINT "7  ENTER TEAM SCORE"
  75. 661  HTAB 5: PRINT "8  DISPLAY TEAM SCORE"
  76. 662  HTAB 5: PRINT "9  EXIT PROGRAM"
  77. 670  PRINT : PRINT "   INPUT NUMBER   ";
  78. 680  INPUT U
  79. 690  IF U <1  OR U >9  OR U < > INT(U)  THEN 600
  80. 700  ON U GOTO 1000,2000,3000,4000,5000,6000,7000,8000,9000
  81. 1000  HOME : GOSUB 120
  82. 1010 NN = R -1
  83. 1020  FOR X = 1 TO NN
  84. 1030 R = X
  85. 1040  GOSUB 180
  86. 1049 N$ =  LEFT$(N$,30)
  87. 1050  HOME : PRINT N$
  88. 1060  PRINT : PRINT "ENTER SCORES FOR ABOVE TEAM MEMBER."
  89. 1065  PRINT "ENTER ZEROS IF DID NOT BOWL."
  90. 1070  PRINT : INPUT "GAME #1   ";S1
  91. 1080  PRINT : INPUT "GAME #2   ";S2
  92. 1090  PRINT : INPUT "GAME #3   ";S3
  93. 1100  PRINT : PRINT "ARE THE SCORES CORRECT?   ";: INPUT U$
  94. 1110  IF  LEFT$(U$,1) < >"Y"  THEN 1050
  95. 1120  IF S1 = 0  THEN 1190
  96. 1130  GOSUB 230
  97. 1140 G1 = G1 +3:TP = TP +S1 +S2 +S3
  98. 1150  GOSUB 260
  99. 1160 R = R +1
  100. 1170  GOSUB 210
  101. 1180  GOTO 1200
  102. 1190  GOSUB 230
  103. 1195  GOTO 1150
  104. 1200  NEXT 
  105. 1210  GOSUB 120
  106. 1220 G = G +3
  107. 1230  GOSUB 100
  108. 1240  GOTO 7000
  109. 2000  HOME 
  110. 2001 G(4) = 0
  111. 2010  GOSUB 120
  112. 2020 NN = R -1
  113. 2030 NW = G/3
  114. 2040  PRINT "WHAT WEEK WOULD YOU LIKE TO CORRECT?"
  115. 2050  PRINT "(1 TO ";NW;")   ";: INPUT U
  116. 2060  IF U <1  OR U >NW  OR U < > INT(U)  THEN 600
  117. 2070  FOR X = 1 TO NN
  118. 2080 R = X
  119. 2090  GOSUB 180
  120. 2100  HOME : PRINT "INPUT 'Y' TO CHANGE THIS SCORE."
  121. 2110  PRINT "INPUT 'N' FOR NEXT NAME."
  122. 2114 N$ =  LEFT$(N$,30)
  123. 2115  PRINT : PRINT N$
  124. 2120  INPUT U$
  125. 2140  IF  LEFT$(U$,1) = "Y"  THEN 2170
  126. 2150  GOTO 2280
  127. 2170 R = U
  128. 2180  GOSUB 290
  129. 2181 G(1) = S1 +S2 +S3
  130. 2190  VTAB 6: PRINT "GAME 1   ";S1
  131. 2200  VTAB 8: PRINT "GAME 2   ";S2
  132. 2210  VTAB 10: PRINT "GAME 3   ";S3
  133. 2220  VTAB 6: HTAB 20: INPUT S1
  134. 2230  VTAB 8: HTAB 20: INPUT S2
  135. 2240  VTAB 10: HTAB 20: INPUT S3
  136. 2250  VTAB 12: PRINT "IS THE ABOVE CORRECT?   ";: INPUT U$
  137. 2260  IF  LEFT$(U$,1) < >"Y"  THEN 2220
  138. 2270  GOSUB 260
  139. 2271 G(2) = S1 +S2 +S3
  140. 2272 G(3) = G(2) -G(1)
  141. 2273  IF G(1) = 0  AND G(2) >0  THEN G(4) = 3
  142. 2274  IF G(1) >0  AND G(2) = 0  THEN G(4) =  -3
  143. 2275  GOSUB 230:TP = TP +G(3):G1 = G1 +G(4)
  144. 2276  GOSUB 210
  145. 2280  NEXT X
  146. 2290  GOTO 600
  147. 3000  HOME 
  148. 3010  GOSUB 120
  149. 3020 NN = R -1:NW = G/3
  150. 3030  FOR X = 1 TO NN
  151. 3035 R = X
  152. 3040  GOSUB 180
  153. 3050  HGR 
  154. 3060  HCOLOR= 3
  155. 3070  HPLOT 0,0 TO 0,159 TO 279,159
  156. 3080  FOR U = 159 TO 0  STEP  -10
  157. 3090  FOR TP = O TO 279  STEP 7
  158. 3100  HPLOT TP,U
  159. 3110  NEXT TP,U
  160. 3120  VTAB 21: PRINT "VERT.--25 PINS/DIV. HORZ.--1 WEEK/DIV."
  161. 3130  PRINT "PUSH SPACE BAR FOR NEXT GRAPH."
  162. 3140 R = 1
  163. 3150  GOSUB 290
  164. 3160 U = 159 - INT((S1 +S2 +S3)/7.5)
  165. 3170 U1 = U
  166. 3180 R = R +1
  167. 3190  IF R >NW  THEN 3239
  168. 3200  GOSUB 290
  169. 3210 U = 159 - INT((S1 +S2 +S3)/7.5)
  170. 3220  HPLOT (R -1) *7,U1 TO R *7,U
  171. 3221 U1 = U
  172. 3230  GOTO 3180
  173. 3239 N$ =  LEFT$(N$,30)
  174. 3240  PRINT : PRINT N$;: GET U$
  175. 3250  PRINT 
  176. 3260  NEXT X
  177. 3265  TEXT 
  178. 3270  GOTO 600
  179. 4000  HOME : PRINT "    NAME       TP     TG    AVG  HNCP"
  180. 4010  PRINT 
  181. 4020  GOSUB 120
  182. 4030 NN = R -1
  183. 4040  FOR X = 1 TO NN
  184. 4042 R = X
  185. 4044  GOSUB 180
  186. 4050  GOSUB 230
  187. 4060 S1 =  INT(TP/G1)
  188. 4065 S2 =  INT(.8 *(190 -S1))
  189. 4070  IF S1 >190  THEN S2 = 0
  190. 4090  PRINT  LEFT$(N$,12); TAB( 15);TP; TAB( 22);G1; TAB( 29);S1; TAB( 36);S2
  191. 4100  NEXT X
  192. 4101  VTAB 24: PRINT "PUSH SPACE BAR TO CONTINUE.";: GET U$
  193. 4110  GOTO 600
  194. 5000  HOME : PRINT "ENTER THE NAME OF THE NEW TEAM MEMBER        (UP TO 30 CHARACTORS)"
  195. 5010  PRINT : INPUT N$
  196. 5020  PRINT : PRINT "IS THE ABOVE CORRECT.   ";: INPUT U$
  197. 5030  IF  LEFT$(U$,1) < >"Y"  THEN 5000
  198. 5040 N$ = N$ +"                              "
  199. 5050 N$ =  LEFT$(N$,30)
  200. 5060  GOSUB 120
  201. 5070 NW = G/3:S1 = 0:S2 = 0:S3 = 0
  202. 5080  GOSUB 150
  203. 5090 R = R +1
  204. 5100  GOSUB 100
  205. 5110  IF NW = 0  THEN 5160
  206. 5120  FOR X = 1 TO NW
  207. 5130 R = X
  208. 5140  GOSUB 260
  209. 5150  NEXT X
  210. 5160 R = NW +1:TP = 0:G1 = 0
  211. 5170  GOSUB 210
  212. 5180  GOTO 600
  213. 6000  HOME : PRINT "RUN THIS PORTION ONLY PRIOR TO THE FIRSTWEEK OF BOWLING.  DO YOU WANT TO RETURN TO MEMU?"
  214. 6010  INPUT U$
  215. 6020  IF  LEFT$(U$,1) = "Y"  THEN 600
  216. 6021  HOME : PRINT "DO YOU WANT TO ELIMINATE PREVIOUS BOWLERFILES";: INPUT U$
  217. 6022  IF  LEFT$(U$,1) < >"Y"  THEN 6100
  218. 6030  GOSUB 120
  219. 6040 NN = R -1
  220. 6050  FOR X = 1 TO NN
  221. 6060 R = X
  222. 6070  GOSUB 180
  223. 6080  PRINT D$;"DELETE ";N$
  224. 6090  NEXT X
  225. 6100 R = 1:G = 0: GOSUB 100
  226. 6110 GT = 0: GOSUB 320
  227. 6120  GOTO 600
  228. 7000  HOME : GOSUB 350
  229. 7010  PRINT "ENTER FOLLOWING AFTER GAME NUMBERS."
  230. 7020  PRINT "    WIN   1": PRINT "    TIE   .5": PRINT "    LOSS  0"
  231. 7030  FOR X = 1 TO 4
  232. 7040  VTAB X +6: PRINT "                    "
  233. 7050  VTAB X +6: PRINT "GAME ";X;"  ";: INPUT G(X)
  234. 7060  IF G(X) < >1  AND G(X) < >.5  AND G(X) < >0  THEN 7040
  235. 7070  NEXT X
  236. 7080  PRINT : PRINT "ARE THE ABOVE CORRECT?   ";: INPUT U$
  237. 7090  IF  LEFT$(U$,1) < >"Y"  THEN 7000
  238. 7100  GOSUB 380
  239. 7110 R = R +1:G = G +4:GT = GT +G(1) +G(2) +G(3) +G(4)
  240. 7120  GOSUB 320
  241. 7130  GOTO 600
  242. 8000  GR : COLOR= 0
  243. 8010  FOR X = 0 TO 39
  244. 8020  HLIN 0,39 AT X
  245. 8030  NEXT X
  246. 8040  COLOR= 6
  247. 8050  HLIN 0,39 AT 10
  248. 8060  HLIN 0,39 AT 20
  249. 8070  HLIN 0,39 AT 30
  250. 8080  HLIN 0,39 AT 0
  251. 8090  VTAB 21: PRINT "EACH BLUE LINE IS ONE GAME."
  252. 8100  PRINT "EACH VERTICAL LINE IS ONE WEEK."
  253. 8110  GOSUB 350
  254. 8120 NW = R -1: COLOR= 9
  255. 8130  VTAB 23: PRINT "YOUR RECORD IS ";GT;" GAMES OUT OF ";G;"."
  256. 8140  FOR X = 1 TO NW
  257. 8150 R = X
  258. 8160  GOSUB 410
  259. 8170 S1 = G(1) +G(2) +G(3) +G(4)
  260. 8180 S2 = 40 -S1 *10
  261. 8182  IF S2 = 40  THEN 8190
  262. 8185  VLIN S2,39 AT X -1
  263. 8190  NEXT X
  264. 8201  COLOR= 6
  265. 8202  HLIN 0,39 AT 0
  266. 8203  HLIN 0,39 AT 10
  267. 8204  HLIN 0,39 AT 20
  268. 8205  HLIN 0,39 AT 30
  269. 8209  VTAB 24: PRINT "PRESS SPACE BAR TO CONTINUE.";: GET U$
  270. 8210  TEXT 
  271. 8220  GOTO 600
  272. 9000  PRINT D$;"CLOSE": HOME 
  273. 9010  END